package com.reder.practice.service;

import com.reder.practice.bean.User;
import com.reder.practice.bean.Video;
import com.reder.practice.common.dto.ServerResponse;
import org.springframework.web.multipart.MultipartFile;

/**
 * 视频业务接口
 *
 * @author Red
 * <p>Email: 1318944013@qq.com</p>
 * <p>created by 2019/09/23 15:14</p>
 */
public interface VideoService {

    /**
     * 新增视频
     *
     * @param file  视频文件
     * @param video 视频类
     * @param user  用户信息
     * @return 新增结果
     */
    ServerResponse addVideo(MultipartFile file, Video video, User user);


    /**
     * 查询视频列表
     *
     * @param pageNumber    当前页数
     * @param sizeOfOnePage 每个页数
     * @return 列表结果
     */
    ServerResponse listVideo(int pageNumber, int sizeOfOnePage);

    /**
     * 查询个人视频列表
     *
     * @param pageNumber    当前页数
     * @param sizeOfOnePage 每个页数
     * @return 列表结果
     */
    ServerResponse listVideoById(int pageNumber, int sizeOfOnePage, User user);

    /**
     * 更新视频信息
     *
     * @param video 视频类
     * @return 更新结果
     */
    ServerResponse updateVideo(Video video);

    /**
     * 获得视频详情
     *
     * @param videoId 视频id
     * @return 详情
     */
    ServerResponse getVideo(long videoId);

    /**
     * 删除视频
     * @param videoId 视频id
     * @return 删除结果
     */
    ServerResponse deleteVideo(long videoId);


}
